前文给大家详解介绍了开源AI短剧全链路生产工具Forget-C/Jellyfish,日常部署使用、对接AI模型、生成视频、接口报错、人物漂移、启动失败、数据库初始化异常时,查看日志是最快定位问题的手段。
本文全覆盖两大部署模式:Docker Compose一键部署(主流生产/本地部署)、前后端分离开发部署,整理前端、FastAPI后端、MySQL、RustFS存储、初始化脚本五大模块日志查看方法,附带高频排错日志命令、日志分级解读、常见报错检索技巧,零基础直接复制命令使用。
项目仓库:https://github.com/Forget-C/Jellyfish
一、前置说明:Jellyfish日志分类
整套项目日志分为5类,不同问题对应查看对应日志,精准排错:
- 前端日志:页面报错、接口404、openapi请求失败、分镜编辑器交互异常
- 后端FastAPI日志:AI大模型对接失败、生成视频报错、资产读写、接口报错、权限校验、种子防漂移逻辑异常
- 容器依赖日志:MySQL数据库、RustFS对象存储、数据库初始化脚本日志
- 启动初始化日志:首次部署建表、SQL导入、环境变量加载报错日志
- 开发本地日志:uv运行后端、pnpm运行前端终端原生日志
二、方式一:Docker Compose部署(90%用户使用)日志最全查看方法
适配官方默认部署方式:deploy/compose 目录docker compose启动全套服务,包含前端、后端、MySQL、RustFS、数据库初始化五大容器。
2.1 进入项目compose目录(必执行)
# 切换到编排目录
cd Jellyfish/deploy/compose
2.2 查看全部服务实时日志
实时滚动所有容器日志,适合全局排查联动报错,组合快捷键 Ctrl+C 退出监听
docker compose --env-file .env -f docker-compose.yml logs -f
2.3 分容器单独查看日志(精准排错,推荐)
项目拆分独立容器,按需单独监听,效率更高,附上对应服务作用:
# 1.前端Web日志:页面加载、openapi接口、分镜页面、资产管理页面报错
docker compose logs -f jellyfish-front
# 2.后端FastAPI核心日志:模型对接、视频生成、分镜运算、业务逻辑报错【使用最多】
docker compose logs -f jellyfish-backend
# 3.数据库初始化日志:首次启动建表、导入sql模板失败必看
docker compose logs -f backend-init-db
# 4.MySQL数据库日志:连接失败、数据表读写、账号权限报错
docker compose logs -f mysql
# 5.RustFS对象存储日志:素材图片、短剧视频存储读写失败
docker compose logs -f rustfs
2.4 进阶Docker日志高频用法
# 查看后端最近200行日志,无需实时监听
docker compose logs --tail=200 jellyfish-backend
# 检索后端关键字报错:APIkey、Kling、Runway、连接超时、sql报错
docker compose logs jellyfish-backend | grep -i error
# 查看历史启动完整日志,排查开机初始化失败
docker compose logs jellyfish-backend
三、方式二:前后端分离开发部署日志查看
适配开发者模式:本地uv启动后端、pnpm启动前端、独立Docker启动MySQL+RustFS,无整合容器,直接查看终端日志+服务日志。
3.1 后端FastAPI开发日志
后端启动命令自带实时日志,启动后终端直接输出所有接口、模型调用、报错信息:
cd Jellyfish/backend
uv sync
# 启动后终端实时打印后端全量日志
uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
💡 开发后端日志特点:热更新报错、接口请求体、AI模型返回值、数据库SQL语句全部打印,调试首选。
3.2 前端开发日志
cd Jellyfish/front
pnpm install
# Vite启动终端实时打印前端接口、渲染、组件报错
pnpm dev
3.3 前端浏览器可视化日志(页面功能报错必看)
打开前端地址 http://localhost:7788,F12打开开发者工具:
- Console控制台:JS报错、组件渲染、openapi请求报错、本地缓存报错
- Network网络栏:查看后端接口请求状态、入参、返回值、4xx/5xx接口错误
3.4 独立MySQL+RustFS容器日志
cd deploy/compose
# 单独监听数据库+存储日志
docker compose logs -f mysql rustfs
四、核心场景:报错对应查看什么日志?(速查表)
| 故障现象 | 优先查看日志 | 检索关键字 |
|---|---|---|
| 页面打不开、白屏、按钮无响应 | 前端容器日志+浏览器F12 | vite、antd、request、404 |
| 添加AI模型提示连接失败 | jellyfish-backend后端日志 | timeout、api-key、connection、401 |
| 分镜生成视频失败、人物漂移报错 | jellyfish-backend后端日志 | seed、style、controlnet、image |
| 首次启动数据表缺失、模板为空 | backend-init-db初始化日志 | sql、init、table、migrate |
| 视频素材上传保存失败 | rustfs存储+后端日志 | storage、upload、s3、permission |
| openapi更新接口拉取失败 | 前端终端+后端8000服务日志 | openapi、schema、backend_url |
五、日志持久化与调试级别提升
5.1 开启后端Debug日志(打印最全参数)
编辑后端环境变量 backend/.env 或 compose .env 文件,修改日志级别:
# 修改日志级别 INFO → DEBUG,输出AI调用全量提示词、请求参数
LOG_LEVEL=DEBUG
5.2 Docker日志导出本地留存
需要给开发者提交issue排错时,导出完整后端日志到本地文件:
# 导出后端全部日志保存为txt
docker compose logs jellyfish-backend > jellyfish-error.log
六、常见日志答疑
Q1:docker logs看不到最新日志?
执行 docker compose restart jellyfish-backend 重启后端服务,再重新监听日志即可。
Q2:后端不报error,但视频依旧生成失败?
把日志级别改为DEBUG,查看AI大模型返回原生报文,排查prompt、种子值、画幅参数非法问题。
Q3:openapi:update更新失败去哪看日志?
前端执行pnpm命令的本地终端,会直接打印openapi接口拉取、代码生成报错日志。
文末小结
Jellyfish整套项目日志分层清晰,日常运维无需看懂全量代码,牢记核心命令:业务报错看后端、页面报错看前端、启动报错看init初始化、存储报错看RustFS、数据库报错看MySQL,配合grep检索error关键字,99%的部署、对接、生成、启动问题都可以快速定位。
后续遇到项目报错,可直接导出日志提交GitHub Issues,方便作者快速迭代修复功能。